From e2a74a9bd989370938a15d078d537316b1d8de5d Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 26 Feb 2007 14:09:21 +0000 Subject: [PATCH] =?utf8?q?Bug=20409101=20=E2=80=93=20invalid=20read=20to?= =?utf8?q?=20gtkicontheme.c=20insert=5Ftheme(),=20might=20cause?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2007-02-26 Chris Wilson Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash * gtk/gtkicontheme.c: (scan_directory): Reorder the replacement of the shared base_name key, so that we avoid dereferencing the string in the icon_theme->all_icon hash table after freeing it from the dir->icons hash table. svn path=/trunk/; revision=17353 --- ChangeLog | 9 +++++++++ gtk/gtkicontheme.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 909bc257a1..e41da540c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-02-26 Chris Wilson + + Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash + + * gtk/gtkicontheme.c: (scan_directory): + Reorder the replacement of the shared base_name key, so that we + avoid dereferencing the string in the icon_theme->all_icon + hash table after freeing it from the dir->icons hash table. + 2007-02-26 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon_name): Add diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2e404e788f..3133935a21 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -2203,8 +2203,8 @@ scan_directory (GtkIconThemePrivate *icon_theme, base_name = strip_suffix (name); hash_suffix = GPOINTER_TO_INT (g_hash_table_lookup (dir->icons, base_name)); - g_hash_table_replace (dir->icons, base_name, GUINT_TO_POINTER (hash_suffix| suffix)); g_hash_table_insert (icon_theme->all_icons, base_name, NULL); + g_hash_table_replace (dir->icons, base_name, GUINT_TO_POINTER (hash_suffix| suffix)); } g_dir_close (gdir); -- 2.30.2